package utils;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;


public class UtilString {
	public static boolean isNullOrEmpty(String s) {
		if(s==null)
			return true;
		if(s.trim().equals("")){
			return true;
		}
		return false;
	}
	
	public static boolean isNullOrEmpty(String... array) {
		if(array==null){
			return true;
		}
		if(array.length==0){
			return true;
		}
		for(String s:array){
			if(isNullOrEmpty(s)){
				return true;
			}
		}
		return false;
	}
	
	
	
	    /**
	    * @Title: deleteTail
	    * @Description: 根据length;删除字符串最后几位，返回截取后的字符串
	    * @param @param s 待处理字符串
	    * @param @param length 拟删除长度,必须大于0
	    * @param @return    返回截取后的字符串
	    * @return String     返回截取后的字符串
	    * @throws length<0
	    */
	public static String deleteTail(String s,int length){
		if(s==null){
			return null;
		}
		if(s.equals("")){
			return s;
		}
		if(length<0){
			throw new RuntimeException("p:length has error ;");
		}
		if(length>=s.length()){
			return "";
		}
		return s.substring(0, s.length()-length);
	}
	
	public static String deleteTail(StringBuffer sb,int length){
		return deleteTail(sb.toString(), length);
	}
	
	
	public static List<Long> string2LongList(String s,String dividor){
		List<Long> list=new ArrayList<>();
		if(!isNullOrEmpty(s)){
			String[] arrayString=s.split(dividor);
			for(String string:arrayString){
				Long l=Long.parseLong(string);
				list.add(l);
			}
		}
		return list;
	}
	
	public static List<Integer> string2IntegerList(String s,String dividor){
		List<Integer> list=new ArrayList<>();
		if(!isNullOrEmpty(s)){
			String[] arrayString=s.split(dividor);
			for(String string:arrayString){
				Integer l=Integer.parseInt(string);
				list.add(l);
			}
		}
		return list;
	}
	
	
	   /**
	    * @Title: getLastSubString
	    * @Description: 根据分隔符,返回最后一个匹配字符后面个子字符串:如 123.x1.jpg   调用后返回 jpg;如 找不到匹配的或者分隔符位于最后一个字符位置,返回""
	    * @param @param source 待处理字符串
	    * @param @param dividor 分隔符
	    * @param @return    返回截取后的字符串
	    * @return String     返回截取后的字符串
	    */
	public static String getLastSubString(String source,String dividor){
		String result="";
		if(UtilString.isNullOrEmpty(source)){
			return result;
		}else{
			int lastPostion=source.lastIndexOf(dividor);
			int length=source.length();
			if(lastPostion>0 && lastPostion<length-1){
				result=source.substring(lastPostion+1, source.length());
			}
		}
		return result;
	}
}
